#include "plugin_interface.h"

// 加法插件实现
class AddPlugin : public PluginInterface {
public:
    const char* get_name() const override {
        return "Addition_Plugin";
    }

    int operate(int a, int b) const override {
        return a + b;
    }
    // 子类重写 log 方法
    void log(const std::string& message) override {
        std::cout << "[CUSTOM_LOG]_from_add " << message << std::endl;
    }
};

// 创建插件实例 函数调用create_plugin函数时候，直接调用子类的该函数，并返回子类的指针
extern "C" PluginInterface* create_plugin() {
    return new AddPlugin();
}